home *** CD-ROM | disk | FTP | other *** search
- #ifndef G2_GORE_SHARED
- #define G2_GORE_SHARED
-
- // these are the actual shaders
- typedef enum {
- PGORE_NONE,
- PGORE_ARMOR,
- PGORE_BULLETBIG,
- PGORE_KNIFESLASH,
- PGORE_PUNCTURE,
- PGORE_SHOTGUN,
- PGORE_SHOTGUNBIG,
- PGORE_IMMOLATE,
- PGORE_BURN,
- PGORE_SPURT,
- PGORE_SPLATTER,
- PGORE_BLOODY_GLASS,
- PGORE_BLOODY_GLASS_B,
- PGORE_BLOODY_ICK,
- PGORE_BLOODY_DROOP,
- PGORE_BLOODY_MAUL,
- PGORE_BLOODY_DROPS,
- PGORE_BULLET_E,
- PGORE_BULLET_F,
- PGORE_BULLET_G,
- PGORE_BULLET_H,
- PGORE_BULLET_I,
- PGORE_BULLET_J,
- PGORE_BULLET_K,
- PGORE_BLOODY_HAND,
- PGORE_POWDER_BURN_DENSE,
- PGORE_POWDER_BURN_CHUNKY,
- PGORE_KNIFESLASH2,
- PGORE_KNIFESLASH3,
- PGORE_CHUNKY_SPLAT,
- PGORE_BIG_SPLATTER,
- PGORE_BLOODY_SPLOTCH,
- PGORE_BLEEDER,
- PGORE_PELLETS,
- PGORE_KNIFE_SOAK,
- PGORE_BLEEDER_DENSE,
- PGORE_BLOODY_SPLOTCH2,
- PGORE_BLOODY_DRIPS,
- PGORE_DRIPPING_DOWN,
- PGORE_GUTSHOT,
- PGORE_SHRAPNEL,
- PGORE_COUNT
- } goreEnum_t;
-
- struct goreEnumShader_t
- {
- int maxLODBias; //if r_lodBias (and the other 3 convars) =x then shaders with this larger than x will not be used
- goreEnum_t shaderEnum; // why is this even in here?
- char shaderName[MAX_QPATH];
- };
-
- typedef struct SSkinGoreData_s
- {
- vec3_t angles;
- vec3_t position;
- int currentTime;
- int entNum;
- vec3_t rayDirection; // in world space
- vec3_t hitLocation; // in world space
- vec3_t scale;
- float SSize; // size of splotch in the S texture direction in world units
- float TSize; // size of splotch in the T texture direction in world units
- float theta; // angle to rotate the splotch
-
- // growing stuff
- int growDuration; // time over which we want this to scale up, set to -1 for no scaling
- float goreScaleStartFraction; // fraction of the final size at which we want the gore to initially appear
-
- qboolean frontFaces;
- qboolean backFaces;
- qboolean baseModelOnly;
- int lifeTime; // effect expires after this amount of time
- int fadeOutTime; // unimplemented
- int shrinkOutTime; // unimplemented
- float alphaModulate; // unimplemented
- vec3_t tint; // unimplemented
- float impactStrength; // unimplemented
-
- goreEnum_t shaderEnum; // enum that'll get switched over to the shader's actual handle
-
- int myIndex; // used internally
-
- /*
- // Constructor for the CPP version of this struct in SP.
- SSkinGoreData()
- {
- growDuration=-1;
- goreScaleStartFraction=1.0f;
- frontFaces=true;
- backFaces=true;
- theta=0.0f;
- SSize=0.0f;
- TSize=0.0f;
- lifeTime=0;
- baseModelOnly=false;
- }
- */
- } SSkinGoreData;
-
- #endif //G2_GORE_SHARED
-
-